I want to check how much darks vary inside a dark observation, whenever there's more than one dark in an observation.


In [1]:
fname = meta.stagel1bsummary

In [2]:
fname


Out[2]:
'/maven_iuvs/stage/products/level1b/IUVS_L1B_index_summary.txt'

In [ ]:
widths = [(0,8),
          (8, 89),
          (89,97),
          (97,102),
          (102,112),
          (112,118),
          (118,

In [7]:
pd.read_fwf(fname, skiprows=26, index=0).head()


Out[7]:
filenum filename OBS_ID XUV INT_TIME NX NY NZ X1 X2 Y1 ... SHUT_STATE PHASE MODE CYCLE DET_TEMP CASE_TEMP FOV_DEG STIM_STATE FILL_BINS TARGET PURPOSE
0 0 mvn_iuv_l1b_ISON1-cycle01-mode01-... 1 FUV 60000 225 255 36 2 451 2 ... open NaN 1 1 3.0833 20.215 7.49 NaN 387720Siding Spr Spectral
1 1 mvn_iuv_l1b_ISON1-cycle01-mode01-... 1 FUV 60000 225 255 36 2 451 2 ... open NaN 1 1 4.8060 23.774 7.49 NaN 387720Siding Spr Spectral
2 2 mvn_iuv_l1b_ISON1-cycle01-mode01-... 1 FUV 60000 225 255 36 2 451 2 ... open NaN 1 1 6.1542 25.596 7.49 NaN 387720Siding Spr Spectral
3 3 mvn_iuv_l1b_ISON1-cycle01-mode02-... 2 FUV 60000 370 70 36 132 871 126 ... open NaN 2 1 7.4275 25.916 11.46 NaN 0Siding Spr Spectral
4 4 mvn_iuv_l1b_ISON1-cycle01-mode02-... 2 MUV 60000 510 70 36 2 1021 126 ... open NaN 2 1 5.1056 25.916 11.46 NaN 0Siding Spr Spectral

5 rows × 24 columns


In [3]:
weird = (l1ameta.applymap(type) != l1ameta.iloc[0].apply(type)).any(axis=1)

In [4]:
l1ameta[weird]


Out[4]:
filename OBS_ID XUV INT_TIME NX NY NZ X1 X2 Y1 ... PHASE MODE CYCLE DET_TEMP CASE_TEMP FOV_DEG STIM_STATE FILL_BINS TARGET PURPOSE
filenum
18274mvn_iuv_l1a_outbound-orbit00107-mode1001-fuvdark_20141018T073619_v01_r01.fits.gz 1001 FUV 14400 1024 24 1 0 1023 319 582 ... -1 -13.99 5.183 89.990 0Siding Spr Spectral NaN NaN NaN
18275mvn_iuv_l1a_outbound-orbit00107-mode1001-muvdark_20141018T073619_v01_r01.fits.gz 1001 MUV 14400 1024 24 1 0 1023 441 704 ... -1 -16.31 5.183 89.990 0Siding Spr Spectral NaN NaN NaN
18278mvn_iuv_l1a_outbound-orbit00107-mode1001-fuvdark_20141018T073659_v01_r01.fits.gz 1001 FUV 14400 165 7 1 52 711 89 893 ... -1 -14.06 5.189 89.990 0Siding Spr Spectral NaN NaN NaN
18279mvn_iuv_l1a_outbound-orbit00107-mode1001-muvdark_20141018T073659_v01_r01.fits.gz 1001 MUV 14400 30 7 1 2 1021 96 900 ... -1 -16.31 5.189 89.990 0Siding Spr Spectral NaN NaN NaN
18282mvn_iuv_l1a_outbound-orbit00107-mode1001-fuvdark_20141018T075527_v01_r01.fits.gz 1001 FUV 1400 165 7 1 52 711 89 893 ... -1 -15.11 5.114 89.990 0Siding Spr Spectral NaN NaN NaN
18283mvn_iuv_l1a_outbound-orbit00107-mode1001-muvdark_20141018T075527_v01_r01.fits.gz 1001 MUV 1400 30 7 1 2 1021 96 900 ... -1 -17.51 5.114 89.990 0Siding Spr Spectral NaN NaN NaN
18290mvn_iuv_l1a_outbound-orbit00107-mode1001-fuvdark_20141018T082537_v01_r01.fits.gz 1001 FUV 14400 165 7 1 52 711 89 893 ... -1 -15.94 4.994 89.990 0Siding Spr Spectral NaN NaN NaN
18291mvn_iuv_l1a_outbound-orbit00107-mode1001-muvdark_20141018T082537_v01_r01.fits.gz 1001 MUV 14400 30 7 1 2 1021 96 900 ... -1 -18.41 4.994 89.990 0Siding Spr Spectral NaN NaN NaN
18292mvn_iuv_l1a_outbound-orbit00107-mode1001-fuvdark_20141018T082559_v01_r01.fits.gz 1001 FUV 1400 165 7 1 52 711 89 893 ... -1 -16.01 4.994 12.670 0Siding Spr Spectral NaN NaN NaN
18293mvn_iuv_l1a_outbound-orbit00107-mode1001-muvdark_20141018T082559_v01_r01.fits.gz 1001 MUV 1400 30 7 1 2 1021 96 900 ... -1 -18.26 4.994 12.670 0Siding Spr Spectral NaN NaN NaN
18347mvn_iuv_l1a_periapse-orbit00108-mode0001-fuvdark_20141018T112844_v01_r01.fits.gz 1 FUV 4200 256 7 1 0 1023 89 893 ... -1 -16.31 4.930 17.290 0Siding Spr Spectral NaN NaN NaN
18348mvn_iuv_l1a_periapse-orbit00108-mode0001-muvdark_20141018T112844_v01_r01.fits.gz 1 MUV 4200 256 7 1 0 1023 96 900 ... -1 -18.86 4.930 17.290 0Siding Spr Spectral NaN NaN NaN
18375mvn_iuv_l1a_periapse-orbit00108-mode0001-fuvdark_20141018T115024_v01_r01.fits.gz 1 FUV 4200 256 7 1 0 1023 89 893 ... -1 -15.86 5.063 23.370 0Siding Spr Spectral NaN NaN NaN
18376mvn_iuv_l1a_periapse-orbit00108-mode0001-muvdark_20141018T115024_v01_r01.fits.gz 1 MUV 4200 256 7 1 0 1023 96 900 ... -1 -18.41 5.063 23.370 0Siding Spr Spectral NaN NaN NaN
18379mvn_iuv_l1a_outbound-orbit00108-mode1001-fuvdark_20141018T121322_v01_r01.fits.gz 1001 FUV 14400 1024 24 1 0 1023 319 582 ... -1 -16.01 5.114 89.990 0Siding Spr Spectral NaN NaN NaN
18380mvn_iuv_l1a_outbound-orbit00108-mode1001-muvdark_20141018T121322_v01_r01.fits.gz 1001 MUV 14400 1024 24 1 0 1023 441 704 ... -1 -18.56 5.114 89.990 0Siding Spr Spectral NaN NaN NaN
18383mvn_iuv_l1a_outbound-orbit00108-mode1001-fuvdark_20141018T121402_v01_r01.fits.gz 1001 FUV 14400 165 7 1 52 711 89 893 ... -1 -16.01 5.107 89.990 0Siding Spr Spectral NaN NaN NaN
18384mvn_iuv_l1a_outbound-orbit00108-mode1001-muvdark_20141018T121402_v01_r01.fits.gz 1001 MUV 14400 30 7 1 2 1021 96 900 ... -1 -18.56 5.107 89.990 0Siding Spr Spectral NaN NaN NaN
18387mvn_iuv_l1a_outbound-orbit00108-mode1001-fuvdark_20141018T123229_v01_r01.fits.gz 1001 FUV 1400 165 7 1 52 711 89 893 ... -1 -15.86 5.069 89.990 0Siding Spr Spectral NaN NaN NaN
18388mvn_iuv_l1a_outbound-orbit00108-mode1001-muvdark_20141018T123229_v01_r01.fits.gz 1001 MUV 1400 30 7 1 2 1021 96 900 ... -1 -18.71 5.069 89.990 0Siding Spr Spectral NaN NaN NaN
18395mvn_iuv_l1a_outbound-orbit00108-mode1001-fuvdark_20141018T130240_v01_r01.fits.gz 1001 FUV 14400 165 7 1 52 711 89 893 ... -1 -16.24 4.962 89.990 0Siding Spr Spectral NaN NaN NaN
18396mvn_iuv_l1a_outbound-orbit00108-mode1001-muvdark_20141018T130240_v01_r01.fits.gz 1001 MUV 14400 30 7 1 2 1021 96 900 ... -1 -18.56 4.962 89.990 0Siding Spr Spectral NaN NaN NaN
18397mvn_iuv_l1a_outbound-orbit00108-mode1001-fuvdark_20141018T130302_v01_r01.fits.gz 1001 FUV 1400 165 7 1 52 711 89 893 ... -1 -16.24 4.968 12.670 0Siding Spr Spectral NaN NaN NaN
18398mvn_iuv_l1a_outbound-orbit00108-mode1001-muvdark_20141018T130302_v01_r01.fits.gz 1001 MUV 1400 30 7 1 2 1021 96 900 ... -1 -18.71 4.968 12.670 0Siding Spr Spectral NaN NaN NaN
18452mvn_iuv_l1a_periapse-orbit00109-mode0001-fuvdark_20141018T160546_v01_r01.fits.gz 1 FUV 4200 256 7 1 0 1023 89 893 ... -1 -16.39 4.930 17.290 0Siding Spr Spectral NaN NaN NaN
18453mvn_iuv_l1a_periapse-orbit00109-mode0001-muvdark_20141018T160546_v01_r01.fits.gz 1 MUV 4200 256 7 1 0 1023 96 900 ... -1 -18.86 4.930 17.290 0Siding Spr Spectral NaN NaN NaN
18480mvn_iuv_l1a_periapse-orbit00109-mode0001-fuvdark_20141018T162726_v01_r01.fits.gz 1 FUV 4200 256 7 1 0 1023 89 893 ... -1 -15.94 5.101 23.370 0Siding Spr Spectral NaN NaN NaN
18481mvn_iuv_l1a_periapse-orbit00109-mode0001-muvdark_20141018T162726_v01_r01.fits.gz 1 MUV 4200 256 7 1 0 1023 96 900 ... -1 -18.41 5.101 23.370 0Siding Spr Spectral NaN NaN NaN
18484mvn_iuv_l1a_outbound-orbit00109-mode1001-fuvdark_20141018T165023_v01_r01.fits.gz 1001 FUV 14400 1024 24 1 0 1023 319 582 ... -1 -15.94 5.202 89.990 0Siding Spr Spectral NaN NaN NaN
18485mvn_iuv_l1a_outbound-orbit00109-mode1001-muvdark_20141018T165023_v01_r01.fits.gz 1001 MUV 14400 1024 24 1 0 1023 441 704 ... -1 -18.56 5.202 89.990 0Siding Spr Spectral NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
49421 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T19... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49422 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T19... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49423 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T19... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49424 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T19... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49425 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T19... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49426 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T19... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49427 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T19... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49428 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T19... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49429 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T19... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49430 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T19... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49431 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T19... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49432 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T19... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49433 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T19... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49434 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T19... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49435 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T19... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49436 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T19... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49437 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T19... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49438 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T19... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49439 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T20... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49440 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T20... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49441 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T20... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49442 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T20... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49443 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T20... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49444 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T20... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49445 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T20... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49446 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T20... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49447 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T20... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49448 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T20... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 65.88 0Siding Spr Spectral NaN NaN
49449 mvn_iuv_l1a_apoapse-orbit00950-fuv_20150327T20... 8203 FUV 14400 72 10 21 52 627 89 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN
49450 mvn_iuv_l1a_apoapse-orbit00950-muv_20150327T20... 8203 MUV 14400 96 10 21 140 907 101 ... -1 -1.00 174.000 1.819 90.1 0Siding Spr Spectral NaN NaN

16963 rows × 25 columns


In [24]:
l1ameta.columns


Out[24]:
Index(['filename', 'OBS_ID', 'XUV', 'INT_TIME', 'NX', 'NY', 'NZ', 'X1', 'X2', 'Y1', 'Y2', 'BINX', 'BINY', 'MCP_HV', 'SHUT_STATE', 'PHASE', 'MODE', 'CYCLE', 'DET_TEMP', 'CASE_TEMP', 'FOV_DEG', 'STIM_STATE', 'FILL_BINS', 'TARGET', 'PURPOSE'], dtype='object')

In [2]:
dark_multis = l1ameta[(l1ameta.NZ==2) & l1ameta.filename.str.contains('dark')]

Writing function knowing that I picked only dark files with 2 dark obs per file.


In [68]:
def process_fname(fname):
    l1a = io.L1AReader(fname)
    first, second = l1a.img.mean(axis=(1,2))
    diff = (first-second)/first
    return fname, diff

In [3]:
from IPython.parallel import Client

In [4]:
c = Client()
lbview = c.load_balanced_view()

In [76]:
results = lbview.map_async(process_fname, dark_multis.filename)

In [7]:
import time
import sys
while not has_spa_size.ready():
    print(100*has_spa_size.progress/ len(io.l1a_filenames(iterator=False)))
    sys.stdout.flush()
    time.sleep(10)


1.7744643211726268
2.2185316894416665
2.653573298193043
3.0669530841020274
3.527266819502861
3.9749444915789662
4.390129429391483
4.83239164575699
5.272848710218965
5.707890318970342
6.179034965792371
6.5978302074119535
6.978717259057349
7.343357943570951
7.792840767550589
8.227882376301967
8.64126216221095
9.121432568550643
9.520371139231367
9.96082820369334
10.368792533891726
10.762315648861852
11.163059371446106
11.545751574995036
12.034947740852393
12.332797804935286
12.80033214795025
13.246204668122823
13.672220517356536
14.072964239940791
14.547719190569886
14.90694441937289
15.278805711500622
15.706626712637869
16.09834467570446
16.48645233496399
16.926909399425963
17.37819737530913
17.764499882665127
18.132750870985795
18.52807913785945
18.96492589851436
19.38913659584454
19.744751520840477
20.076899471090492
20.457786522735887
20.831452966767152
21.190678195570158
21.573370399119085
21.941621387439753
22.37666299619113
22.699785186923478
23.04998465620882
23.50127263209199
23.858692708991462
24.284708558225173
24.620466812282253
24.96886112966406
25.39848728270484
25.7884000938679
26.176507753127424
26.564615412386953
26.96716428687474
27.400400743722585
27.763236276332652
28.21813455602289
28.617073126703612
28.981713811217215
29.39689874902973
29.78139610448219
30.164088308031122
30.604545372493096
31.00528909507735
31.44213585573226
31.842879578316516
32.22918208567251
32.57938155495785
32.94582739137498
33.308662923985054
33.725653013701105
34.15347401483835
34.55060743361554
34.94413054858566
35.39722367637237
35.7690849685001
36.18607505821615
36.60487029983573
37.000198566709386
37.46953806162789
37.890138455151
38.29990793725292
38.742170153618424
39.15554993952741
39.53102153546221
39.96245284040652
40.449843854360346
40.91918334927884
41.35061465422315
41.85966749101937
42.312760618806074
42.751412531364515
43.24060869722187
43.68467606549091
44.11249706662816
44.57100565012546
44.9988266512627
45.4789970576024
45.888766539704314
46.35449573081575
46.72635702294348
47.04947921367583
47.42675596151416
47.838330595519615
48.25532068523566
48.645233496398724
49.0748596494395
49.47740852392729
49.84926981605502
50.313193855262924
50.70130151452245
51.08038341426431
51.49737350398036
51.957687239381194
52.43605249381736
52.847627127822804
53.24837085040706
53.68160730725491
54.05888405509324
54.45060201815983
54.86578695597235
55.31165947614492
55.66185894543026
56.078849035146305
56.47778760582703
56.923660125999604
57.38036355759337
57.78832788779176
58.16740978753362
58.600646244381466
58.99416935935159
59.39491308193585
59.822734083073094
60.23250356517501
60.691012148672314
61.16035164359081
61.56109536617507
62.03043486109356
62.469086773652
62.90773868621044
63.24710724407459
63.694784916150695
64.12441106919147
64.59916601982057
65.05767460331786
65.49091106016571
65.92414751701355
66.38085094860733
66.81769770926223
67.31050417892666
67.74735093958157
68.1300431431305
68.5109301947759
68.98749029730853
69.38642886798924
69.83049623625828
70.3287181616333
70.78542159322707
71.20241168294312
71.67897178547575
72.1844143184649
72.6645847248046
73.04547177644999
73.50037005614023
73.82890770258317
74.31268841272993
74.76578154051663
75.11778616170551
75.55282777045689
75.94454573352347
76.35792551943246
76.74422802678845
77.15399750889037
77.52946910482517
77.97714677690128
78.42662960088091
78.80029604491217
79.2931025145766
79.69384623716086
80.15957542827229
80.6180840117696
80.99897106341498
81.44845388739462
81.90696247089193
82.37088651009982
82.79690235933354
83.19584093001426
83.64893405780096
84.0767550589382
84.49013484484719
84.89268371933498
85.31508926476162
85.71041753163529
86.1472642922902
86.57869559723451
86.98846507933642
87.39281910572775
87.84410708161091
88.2520714118093
88.69252847627128
89.09327219885553
89.51206744047512
89.87851327689225
90.3117497337401
90.75762225391267
91.19266386266405
91.60243334476596
92.01581313067494
92.4165568532592
92.7811975377728
93.19818762748885
93.6422549957579
94.04299871834215
94.49428669422532
94.8968355687131
95.25245049370905
95.61889633012618
95.98895247035038
96.43482499052296
96.82293264978247
97.22006606855967
97.67857465205697
98.06487715941296
98.40785602108417
98.83387187031789
99.21114861815622
99.6191129483546

In [88]:
df = pd.DataFrame(results.result, columns=['filename','diff']).merge(dark_multis, on='filename')

In [90]:
df['diff'].describe()


Out[90]:
count    3168.000000
mean       -0.827809
std        10.020196
min      -124.531195
25%        -0.008314
50%         0.021521
75%         0.061263
max         0.400849
Name: diff, dtype: float64

In [92]:
df['time'] = df.filename.map(lambda x: io.Filename(x).time)

In [93]:
df.set_index('time', inplace=True)

In [95]:
df.sort_index(inplace=True)

In [101]:
%matplotlib inline

In [107]:
df[df['diff']<-5]['diff'].plot(style='*')


Out[107]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f6c49a26518>

In [108]:
messedup = df[df['diff']<-5]

In [110]:
messedup.filename


Out[110]:
time
2015-02-13 06:47:25    mvn_iuv_l1a_outbound-orbit00724-echdark_201502...
2015-02-14 19:06:50    mvn_iuv_l1a_outbound-orbit00732-echdark_201502...
2015-02-15 04:11:49    mvn_iuv_l1a_outbound-orbit00734-echdark_201502...
2015-02-17 10:23:39    mvn_iuv_l1a_outbound-orbit00746-echdark_201502...
2015-02-20 01:27:44    mvn_iuv_l1a_outbound-orbit00760-echdark_201502...
2015-02-20 19:29:46    mvn_iuv_l1a_outbound-orbit00764-echdark_201502...
2015-02-21 04:30:34    mvn_iuv_l1a_outbound-orbit00766-echdark_201502...
2015-02-21 22:32:33    mvn_iuv_l1a_outbound-orbit00770-echdark_201502...
2015-02-22 16:34:26    mvn_iuv_l1a_outbound-orbit00774-echdark_201502...
2015-02-23 10:36:18    mvn_iuv_l1a_outbound-orbit00778-echdark_201502...
2015-02-24 04:38:09    mvn_iuv_l1a_outbound-orbit00782-echdark_201502...
2015-02-25 07:40:51    mvn_iuv_l1a_outbound-orbit00788-echdark_201502...
2015-02-26 01:42:33    mvn_iuv_l1a_outbound-orbit00792-echdark_201502...
2015-02-26 19:44:10    mvn_iuv_l1a_outbound-orbit00796-echdark_201502...
2015-02-27 13:45:45    mvn_iuv_l1a_outbound-orbit00800-echdark_201502...
2015-02-28 16:47:47    mvn_iuv_l1a_outbound-orbit00806-echdark_201502...
2015-03-01 10:49:09    mvn_iuv_l1a_outbound-orbit00810-echdark_201503...
2015-03-02 04:51:26    mvn_iuv_l1a_outbound-orbit00814-echdark_201503...
2015-03-02 22:53:48    mvn_iuv_l1a_outbound-orbit00818-echdark_201503...
2015-03-04 10:58:32    mvn_iuv_l1a_outbound-orbit00826-echdark_201503...
2015-03-05 05:00:50    mvn_iuv_l1a_outbound-orbit00830-echdark_201503...
2015-03-05 23:03:05    mvn_iuv_l1a_outbound-orbit00834-echdark_201503...
2015-03-06 17:05:16    mvn_iuv_l1a_outbound-orbit00838-echdark_201503...
Name: filename, dtype: object

In [139]:
l1a = io.L1AReader(messedup.filename[0])

In [5]:
def check_for_spa_size(fname):
    l1a = io.L1AReader(fname)
    try:
        a = l1a.img_header['SPA_SIZE']
    except KeyError:
        return (fname, False)
    else:
        return (fname, True)

In [6]:
has_spa_size = lbview.map_async(check_for_spa_size, io.l1a_filenames())

In [157]:
_, axes = plt.subplots(nrows=2, figsize=(10,10))
l1a.plot_img_profile(0, ax=axes[0], log=False)
l1a.plot_img_profile(1, ax=axes[1], log=False)
plt.savefig('example_echdark_profile.png', dpi=100)



In [173]:
df.plot?

In [174]:
fig, ax = plt.subplots(nrows=3, figsize=(10,10))
df[df['diff']>-5]['diff'].plot(style='*', ax=ax[0], sharex=False)
df[df['diff']<-5]['diff'].plot(style='*', ax=ax[1], sharex=False)
df['diff'].plot(style='*', ax=ax[2], sharex=False)
plt.savefig('all_previous_echdark_plots_in_one.png',dpi=100)



In [167]:
df[df['diff']>-5]['diff'].plot(style='*', figsize=(10,10))
plt.savefig('echdark_usual_dark_ratios.png', dpi=100)



In [168]:
df[df['diff']>-5]['diff'].plot(style='*', figsize=(10,10))
plt.savefig('unusual_echdark_ratios.png', dpi=100)



In [169]:
df['diff'].plot(style='*', figsize=(10,10))
plt.savefig('all_ndim2_dark_ratios.png',dpi=100)



In [171]:
df[df['diff']<-5].filename.values


Out[171]:
array(['mvn_iuv_l1a_outbound-orbit00724-echdark_20150213T064725_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00732-echdark_20150214T190650_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00734-echdark_20150215T041149_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00746-echdark_20150217T102339_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00760-echdark_20150220T012744_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00764-echdark_20150220T192946_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00766-echdark_20150221T043034_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00770-echdark_20150221T223233_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00774-echdark_20150222T163426_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00778-echdark_20150223T103618_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00782-echdark_20150224T043809_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00788-echdark_20150225T074051_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00792-echdark_20150226T014233_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00796-echdark_20150226T194410_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00800-echdark_20150227T134545_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00806-echdark_20150228T164747_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00810-echdark_20150301T104909_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00814-echdark_20150302T045126_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00818-echdark_20150302T225348_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00826-echdark_20150304T105832_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00830-echdark_20150305T050050_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00834-echdark_20150305T230305_v01_s01.fits.gz',
       'mvn_iuv_l1a_outbound-orbit00838-echdark_20150306T170516_v01_s01.fits.gz'], dtype=object)

In [8]:
dfhas_spa_size= pd.DataFrame(has_spa_size.result, columns=['filename','has_spa_size'])

In [10]:
dfhas_spa_size.has_spa_size.value_counts()


Out[10]:
True     53291
False     2106
dtype: int64

In [16]:
badfiles = dfhas_spa_size[~dfhas_spa_size.has_spa_size].filename

In [18]:
badfiles.to_csv('files_with_no_SPA_SIZE.csv', index=False)

In [19]:
!head files_with_no_SPA_SIZE.csv


/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00408-muv_20141215T010127_v01_r01.fits.gz
/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00392-fuv_20141212T004146_v01_r01.fits.gz
/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00349-muv_20141203T193524_v01_r01.fits.gz
/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00403-muv_20141214T020650_v01_r01.fits.gz
/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00414-muv_20141216T044137_v01_r01.fits.gz
/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00410-muv_20141215T103331_v01_r01.fits.gz
/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00386-muv_20141210T200224_v01_r01.fits.gz
/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00395-fuv_20141212T134909_v01_r01.fits.gz
/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00350-muvdark_20141203T225847_v01_r01.fits.gz
/maven_iuvs/stage/products/level1a/mvn_iuv_l1a_apoapse-orbit00344-fuvdark_20141202T201151_v01_r01.fits.gz

In [ ]: